"""
RAGFlow MCP聊天模块

该模块是对handler模块的极简封装，提供对外接口。
"""
import os
import sys

from RAGFlow_mcp.handler import handle_user_query
from RAGFlow_mcp.tool import list_assistant

# 确保项目根目录在Python路径中
PROJECT_ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
if PROJECT_ROOT not in sys.path:
    sys.path.insert(0, PROJECT_ROOT)

def get_assistants():
    """
    获取所有可用的助手列表
    :return: 助手列表信息
    """
    return list_assistant()


def RAGFlow_chat(query: str) -> str:
   """
   处理用户查询，返回回答
   :param query: 用户查询
   :return: 回答内容
   """
   return handle_user_query(query)


if __name__ == "__main__":
    # 测试获取助手列表
    print("助手列表:", get_assistants())

    # 测试直接提问
    query = "瓦尔登湖在哪？"
    print(f"问题: {query}")
    print(f"回答: {RAGFlow_chat(query)}")

    # 测试指定助手回答问题
    query = "请企业知识助手告诉我如何报销经费？"
    print(f"问题: {query}")
    print(f"回答: {RAGFlow_chat(query)}")